home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1986 May
/
Ahoy_Magazine_86-05_1986_Double_L.d64
/
star search
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
7KB
|
238 lines
10 print"[147]"
20 clr:poke56,48:poke52,48:dimvs(11)
30 gosub620:ag=0:tr=0:ti$="000000"
40 w=49152:bd=53280:ps=53281
50 v=53248: x=100:y=189:y1=178:x1=55:rt=6:dt=70:sr=49576:pokeps,0
60 pokebd,0: h=0:sd=42:l=20:h=0:ms=0
70 sn=54272:fora=sntosn+24:pokea,0:next:pokesr,6:os=1:ao=56171:b=0:r=0
80 gosub2090
90 cr$=""
100 ifpeek(12289)<>16thengosub1640:gosub850
110 gosub1580
120 poke53265,peek(53265)and239
130 print"[147][145]":pokeps,0:poke49531,5:poke49532,34:poke49533,2:poke49534,20
140 pokebd,0:poke49530,5:s=50:sg=3
150 forsk=1tol:rs=int(rnd(1)*720)+1:c=int(rnd(1)*6)+2:poke55376+rs,c
160 poke1104+rs,sd
170 next:ifsd=42thensd=46:l=20:goto150
180 ifsd=46thensd=0
190 ifsg<>1thenl=3:sg=sg-1:sd=sd+1:goto150
200 gosub430:rn=int(rnd(1)*30)+1:pokev+21,64+rn
210 poke53270,peek(53270)and247:sysw
220 sysw
230 poke v+21,127:poke v+28,63
240 rem main routine
250 jv=peek(56320):fb=jvand16:jv=15-(jvand15)
260 z=peek(v+30):sysw
270 hb=int(rnd(1)*50)+1
280 ifhb=1thengosub350
290 ifjv=8thenx=x+5:ifx>=254thenx=254
300 iffb<>16thenpokev+15,178:pokev+21,peek(v+21)or128:gosub2070:goto1740
310 sysw:ifjv=4thenx=x-5:ifx<=60thenx=60
320 pokev+12,x:pokev+14,x
330 goto250
340 rem tremor/hit
350 forp=1to3:fori=1to12:poke53270,i:fori=1to15:next:poke53270,8:pokesn+4,129
360 sysw:fort=1to5:next:sysw:next
370 pokesn+4,128:poke53270,peek(53270)and247:tr=tr+1
380 iftr=4thenprintleft$(cr$,12)" "
390 iftr=8thenprintleft$(cr$,12)"[158] "
400 iftr=12thenprintleft$(cr$,12)" "
410 iftr>15thentr=0:goto2110
420 return
430 print" [155] [146] h g n m h j n m k e [146][145]"
440 print" [155] [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183] [146]"
450 fori=1to18
460 print"[144] [155] [214][146][145]"
470 printtab(35)"[155][214] "
480 next
490 fori=1to3
500 print" [155] "
510 next:f=0:print""
520 print" [145][205][206]"
530 print"[205][206]"
540 printleft$(cr$,19+f)tab(4-f)"[206]";tab(35+f)"[205]":f=f+1
550 iff<>3thenprint"":goto540
560 print"[145]"
570 fored=1063to2023step40:pokeed,160:pokeed+sn,0:next
580 printleft$(cr$,20)"[158]n i i l [129] "
590 printleft$(cr$,23)tab(2)"[158]efgh ";tab(15)"lmjhh ";tab(28)"ifhhjh "
600 poke53265,peek(53265)or16
610 return
620 rem custom characters
630 fori=0to46:reada:poke828+i,a:ck=ck+a:next
640 ifck<>6871thenprint"error in lines...":end
650 sys828
660 fori=10240+0to10240+175:reada:pokei,a:next
670 poke53272,(peek(53272)and240)or10:return
680 data120,165,1,41,251,133,1,169,0,133,251,133,253,169,40,133,252,169,208,133
690 data254,162,8,160,0,177,253,145,251,136,208,249,230,252,230,254,202,208,240
700 data165,1,9,4,133,1,88,96
710 rem *** character data ***
720 data56,124,102,227,231,126,56,48,31,17,11,28,56,232,200,248
730 data56,124,248,204,222,255,99,0,140,222,63,63,62,204,128,0
740 data 255,255,255,255,255,255,255,255
750 data195,195,195,255,255,243,243,243,24,24,24,28,28,28,28,28
760 data126,126,48,48,56,56,56,56,254,198,192,252,6,134,198,254
770 data255,255,155,219,219,219,195,195,127,127,96,96,126,112,112,127
780 data127,127,99,96,112,115,115,127,127,103,103,99,99,99,127,127
790 data126,70,70,127,127,99,99,99,62,54,54,127,115,115,115,115
800 data254,198,198,255,255,195,195,255,99,99,99,127,28,28,28,28
810 data12,12,12,12,14,206,206,254,127,127,99,99,115,115,115,115
820 data127,99,99,115,115,115,115,127
830 data96,96,112,112,112,112,126,126,230,230,230,230,102,36,60,60
840 rem *** read sprite data ***
850 fors1=12288to12350:readd1:pokes1,d1:next
860 fors2=12352to12414:readd2:pokes2,d2:next
870 fors3=12416to12478:readd3:pokes3,d3:next
880 fors4=12480to12542:readd4:pokes4,d4:next
890 fors5=12544to12606:readd5:pokes5,d5:next
900 fors6=12608to12670:readd6:pokes6,d6:next
910 fors7=12672to12734:readd7:pokes7,d7:next
920 fors8=12736to12798:readd8:pokes8,d8:next:return
930 rem star sprites
940 data0,16,0,0,16,0,0,16
950 data0,0,084,0,1,85,0,0
960 data84,0,0,16,0,0,16,0
970 data0,16,0,0,0,0,0,0
980 data0,0,0,0,0,0,0,0
990 data0,0,0,0,0,0,0,0
1000 data0,0,0,0,0,0,0,0
1010 data0,0,0,0,0,0,0
1020 data0,4,0,0,4,0,0,4
1030 data0,0,21,0,0,4,0,0
1040 data4,0,0,4,0,0,0,0
1050 data0,0,0,0,0,0,0,0
1060 data0,0,0,0,0,0,0,0
1070 data0,0,0,0,0,0,0,0
1080 data0,0,0,0,0,0,0,0
1090 data0,0,0,0,0,0,0
1100 data0,16,0,0,16,0,1,17
1110 data0,0,0,0,1,17,0,0
1120 data16,0,0,16,0,0,0,0
1130 data0,0,0,0,0,0,0,0
1140 data0,0,0,0,0,0,0,0
1150 data0,0,0,0,0,0,0,0
1160 data0,0,0,0,0,0,0,0
1170 data0,0,0,0,0,0,0
1180 data0,32,0,0,84,0,0,32
1190 data0,0,32,0,1,221,0,0
1200 data32,0,0,32,0,0,84,0
1210 data0,32,0,0,0,0,0,0
1220 data0,0,0,0,0,0,0,0
1230 data0,0,0,0,0,0,0,0
1240 data0,0,0,0,0,0,0,0
1250 data0,0,0,0,0,0,0
1260 data0,16,0,0,84,0,1,17
1270 data0,0,84,0,0,16,0,0
1280 data0,0,0,0,0,0,0,0
1290 data0,0,0,0,0,0,0,0
1300 data0,0,0,0,0,0,0,0
1310 data0,0,0,0,0,0,0,0
1320 data0,0,0,0,0,0,0,0
1330 data0,0,0,0,0,0,0
1340 data0,16,0,0,16,0,0,16
1350 data0,0,84,0,1,17,0,0
1360 data84,0,0,16,0,0,16,0
1370 data0,16,0,0,0,0,0,0
1380 data0,0,0,0,0,0,0,0
1390 data0,0,0,0,0,0,0,0
1400 data0,0,0,0,0,0,0,0
1410 data0,0,0,0,0,0,0
1420 data0,0,0,0,0,0,0,0
1430 data0,0,0,0,0,0,0,0
1440 data0,0,0,0,0,0,0,0
1450 data0,0,0,0,0,0,0,32
1460 data0,0,112,0,0,112,0,0
1470 data112,0,0,216,0,1,140,0
1480 data3,6,0,03,118,0,3,6
1490 data0,3,254,0,3,254,0
1500 data0,0,0,0,0,0,0,0
1510 data0,0,0,0,0,0,0,0
1520 data0,0,0,0,0,0,0,0
1530 data0,0,0,0,0,0,0,0
1540 data0,0,0,0,0,0,0,0
1550 data0,0,0,0,0,0,32,0
1560 data0,112,0,0,32,0,0,32
1570 data0,0,32,0,0,112,0
1580 fori=0to7:poke2040+i,192+i:pokev+39+i,1:next
1590 fori=0to11:vs(i)=int(rnd(0)*90)+70:next
1600 fori=1to11step2:pokev+i,vs(i)+os:os=os+8:next
1610 fori=0to10step2:poke v+i,x1:x1=x1+25:next
1620 poke v+15,160:pokev+14,x:pokev+13,y:pokev+12,x
1630 q=int(rnd(1)*5)+1: pokev+37,q:pokev-38,q:poke53275,191:return
1640 msg$=" ifhhflr: h g n m h j n m k e"
1650 aut$=" op qfi hnrsjmh"
1660 fori=1tolen(msg$)
1670 print"";left$(cr$,5)left$(msg$,i)
1680 gosub2090
1690 print"[158]"left$(aut$,i)
1700 fort=1to15:nextt:nexti
1710 print"lrj ilijrg..."
1720 return
1730 rem fire gamma gun
1740 print"[158][145]":sysw:ifrt=6thendt=20
1750 fora=1todt:y1=y1-rt:pokev+15,y1:sysw:z=peek(v+30):ifz=0thennext:goto1820
1760 g=zand63:pokev+21,64+rn-g:a1=int(a/2)
1770 y1=178:pokev+15,y1:sysw
1780 h=h+1:r=r+1:printleft$(cr$,23);tab(9)"[157]"h""
1790 ifr=3andao<56171thenpokeao,7:ao=ao+1:r=0:tr=tr-3:iftr<0thentr=0
1800 rn=int(rnd(1)*30)+1:pokev+21,64+rn
1810 y1=178:pokev+15,y1:sysw:goto1850
1820 pokev+21,64+rn:ms=ms+1:sysw:printleft$(cr$,23);tab(35)ms"":r=0:b=b+1:sysw
1830 ifb=1thengosub1890
1840 y1=178:pokev+15,y1:sysw
1850 xx=int(h-ms)*10+a1:sysw:printleft$(cr$,23);tab(22)" [145]":sysw:a1=0
1860 sysw:printtab(21)xx"":ifxx>300then2250
1870 goto250
1880 rem ammo monitor
1890 sysw:ao=ao-1:pokeao,0:b=0:ifao=56155thenforo=56149toao-1:pokeo,2:nexto:return
1900 ifao=56149then1920
1910 return
1920 pokev+21,0
1930 print"[147]"
1940 msg$=" ifhhflr: h g n m h j n m k e"
1950 fori=1tolen(msg$)
1960 gosub2090
1970 print"";left$(cr$,5)left$(msg$,i)
1980 fort=1to15:nextt:nexti
1990 print"[158]hgnmh sjhgmlpjs";h
2000 print"lmjhh:";xx
2010 print"gfij:";ti$;" kjrglrh"
2020 print"nrlgejm gmp p/r"
2030 getag$:ifag$=""then2030
2040 ifag$="y"thentr=0:print"[147]":goto40
2050 ifag$="n"thensys64738
2060 goto2030
2070 pokesn+24,15:pokesn+5,97:pokesn+6,20:pokesn+4,33:pokesn+1,10:pokesn,120
2080 sysw:pokesn+4,32:return
2090 pokesn+24,15:pokesn+5,97:pokesn+6,20:pokesn+4,33:pokesn+1,10:pokesn,120
2100 pokesn+4,32:return
2110 pokev+21,0:print"[147]"
2120 msg$=" ifhhflr: h g n m h j n m k e"
2130 aut$=" klrsfgflr: jmnsfkngjs"
2140 fori=1tolen(msg$)
2150 print"";left$(cr$,5)left$(msg$,i)
2160 gosub2090
2170 print"[158]"left$(aut$,i)
2180 fort=1to15:nextt:nexti
2190 print"nrlgejm gmp p/r"
2200 getga$:ifga$=""then2200
2210 ifga$="y"thentr=0:print"[147]":goto40
2220 ifga$="n"thensys64738
2230 goto2200
2240 rem victory rine
2250 pokev+21,0:print"[147]"
2260 msg$=" ifhhflr: h g n m h j n m k e"
2270 aut$=" klrsfgflr: ufkglmp"
2280 fori=1tolen(msg$)
2290 print"";left$(cr$,5)left$(msg$,i)
2300 gosub2090
2310 print"[158]"left$(aut$,i)
2320 fort=1to15:nextt:nexti
2330 print"** hltnm hphgji hnujs **"
2340 print"lmjhh:"xx
2350 print"gfij:";ti$;" kjrglrh"
2360 print"nrlgejm gmp p/r"
2370 goto2200